/**
 * 这个js文件实现跨域的原理，是调用$.post进行POST请求
 * 优点是可以直接避免跨域问题
 * 注意，这个Js文件因为使用了$.post，所以必须在电脑联网的情况下调试，否则系统将会报错
 */

var upYes=0;
window.onload = function () {
        var input1 = document.getElementById("file");   /*打开文件*/
        if (typeof (FileReader) === 'undefined') {
            result.innerHTML = "这个浏览器不支持 FileReader,请使用chrome等浏览器，不要用IE浏览器，已经落后了";
			//来自一个想打死用IE浏览器的人的前端工程师
            input1.setAttribute('disabled', 'disabled');
        } else {
            input1.addEventListener('change', readFile, false);  /*在这里调用下面的readFile进行读文件操作*/
        }
    }

function fileload()
{
	var CheckFileName=document.getElementById("file");
	alert("您的文件: "+CheckFileName.files[0].name+" 读取成功!");
}
	
function zhouni()
{
	upYes=1;
	readFile();
}

	function readFile(file)
	{
		if(upYes!=1)
		{
			return null;
		}
		var input1 = document.getElementById("file");   
		var inputfile = document.getElementById("file");   /*打开文件*/
		var CheckGrape=document.getElementById("nianji");
		var CheckClass=document.getElementById("banji");
		console.log("投稿系统准备就绪");
		if(inputfile.value==="")                            //用户未选择文件
		{
			alert("你好像没选择文件喵！");
			return null;
		}
		if(CheckGrape.value==="")                            //用户未选择年级
		{
			alert("你好像没选择年级喵！");
			return null;
		}
		if(CheckClass.value==="")                            //用户未选择班级
		{
			alert("你好像没选择班级喵！");
			return null;
		}
		if(inputfile.value==="")                            //用户未选择文件
		{
			alert("你好像没选择文件喵！");
			return null;
		}
		if(inputfile.value.search(".exe")!=-1)              //用户选择exe文件时拒绝上传
		{
			alert("诶,你一定是选错了,不会是exe文件喵");
			return null;
		}	

		if(inputfile.value.search(/.docx|.doc|.txt|.png|.jpg|.jpeg|.svg|.bmg|.ai|.eps/)===-1)  //文件类型不符合,拒绝上传
		/*这里我得说说了，docx/doc/txt 是文稿投稿，png/jpg/jpeg/svg/bmp/ai/eps是漫画投稿。*/ 
		{
			alert("好像只能上传doc/docx或者txt文件或者图片文件喵！");
			return null;
		}

		var namevalue=document.getElementById("stuname");
		if(namevalue.value==="")                            //未填写名字,拒绝上传
		{
			alert("你好像没写名字喵！");
			return null;
		}
		if(confirm("注意：请再次确认你的个人信息填写正确,确定无误后按<确定>键投稿")==false)  //信息不对,可取消上传
		{
			return null;	
		}
			var GradeArr=new Array("七", "八","九");
			var ClassArr=new Array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21");
			var file = inputfile.files[0];                 							  /*获取文件内容的对象*/
			var reader = new FileReader(); 										  /*新建文件Reader对象*/
			reader.readAsDataURL(file);    										  /*读入文件*/
			reader.onload = function (e) { 
				/*读取成功后，开始运行此上传函数*/

				//获取年月日
                var time=new Date();
                var year=time.getFullYear();
                var month=time.getMonth();
                var day=time.getDate();
                
                //获取时分秒
                var h=time.getHours();
                var m=time.getMinutes();
                var s=time.getSeconds();

				var InputGrape=document.getElementById("nianji");
				var InputClass=document.getElementById("banji");
				var InputStuName=document.getElementById("stuname");
				var data = this.result.substring(this.result.indexOf(',')+1);     //这里应该就是文件转BASE64的关键
				var name = inputfile.files[0].name;                              /*取值，写文件名*/
				var Grade=GradeArr[InputGrape.value];
				var xClass=ClassArr[InputClass.value];		
				console.log(Grade+"("+xClass+")-"+InputStuName.value+"-"+name);
				var UpFileName='docm/'+Grade+"("+xClass+")-"+InputStuName.value+"-"+name;

	
				if(h<10)
				{
					h="0"+h;
				}

				if(s<10)
				{
					s="0"+s;
				}

				if(m<10)
				{
					m="0"+m;
				}
				month+=1;
				var TxMessage =year+"年"+month+"月"+day+"日 "+h+":"+m+":"+s;
				var content =
						 {
							  'owner':'xnzxzhmr',                                     /*所属组织名*/
							  'repo':'fubuki',                                        /*仓库名*/           
							  'path':UpFileName,  /*投稿人信息+文件路径*/      
							  'access_token':'',   	  /*个人私有令牌*/
							  'content':data,                                         /*POST数据（文件内容）*/
							  'message':"级 刊 稿 件 — "+TxMessage                     /*投稿信息*/   
						 };  
				upYes=0;
				/*这里就是POST提交的数据，其中常量用单引号，变量直接写变量名*/
				$.post("https://gitee.com/api/v5/repos/xnzxzhmr/fubuki/contents/"+UpFileName,content,success());
				/*启动POST，“fubuki”为仓库名称*/
			}
    }
///////////////////////////////////////////////////////////////////////////////////////////////////
function success()      //线路一专用
{
	alert("Kon~ 投稿成功！");
}

console.log("文件上传模块加载成功!");

/*function post(URL, PARAMS)       			   
	/**
	 * 这里有必要好好解释一下了，因为浏览器的同源策略，导致在JavaScript内直接访问API会报错
	 * 解决办法之一就是利用浏览器打开新页面（平时的跳转是GET方式，这里使用POST）
	 * 浏览器权限高，可以绕过这个限制
	 *
	{
	console.log("启动POST......");
    var temp = document.createElement("form");
    temp.action = URL;
    temp.method = "POST";
    temp.style.display = "none";
	//temp.target="_blank";
	
    for (var x in PARAMS)
    {
        var opt = document.createElement("textarea");
        opt.name = x;
        opt.value = PARAMS[x];
        temp.appendChild(opt);
    }
    document.body.appendChild(temp);
    temp.submit();  //在这一条语句处实现跳转
	upYes=0;
	alert("感谢您对初二级级刊的贡献！如果一会儿出现一堆字母,就可以关掉网页了");
	console.log("POST数据发送完毕");
	return temp;
	}*/



